When a video program is created at a nonlinear video editing and compositing system, analog video source materials are typically digitized, compressed and stored on disc for later random access for use in creating a video program. Digital source video can also be input into the nonlinear video editor. Segments of the video, also referred to as “video clips,” can be taken from different sources, and the beginning and end points can be trimmed as desired during editing. The order of clips is established in a time line to determine the sequence, and the position of a clip can be changed. Clips can be deleted or inserted as desired. During the editing process, the clips of compressed video can be randomly accessed, decompressed and viewed in real time. The source video can be modified by various effects such as scale, rotate, blur using hardware or software filters to manipulate pixels on the fly in real time or offline.
A blur can be created by replacing the value for a pixel with a new value based upon the original values for that pixel and nearby pixels, with the values of the closer pixels being weighted more than the value of pixels that are further away. The new pixel value Pblur is a convolution, i.e., a sum of weighted values, given by the following formula:Pblur=ΣPi*Wi                Where: Pi equals the value of pixel i, which is a neighbor of the pixel being calculated or the pixel itself, and        Wi equals the weight for pixel i.        
If the weights are calculated using a Gaussian distribution, a blur will simulate a defocused image and be visually pleasing. The Gaussian weights Wgi can be calculated using the following formula:Wgi=e−x**2/c**2,                Where: x is the distance from pixel i to the pixel being calculated, and c is a constant.        
Calculation of each blurred pixel value requires n multiply operations and n add operations, where n is the number of pixels used in the blur. E.g., if the blur were based on the values of pixels in 101 pixels in the same row and 101 pixels in the same column, there would be 202 multiplications and 202 additions to obtain a single blurred pixel value. This process would then need to be repeated for each pixel being blurred in each frame of the video program being subjected to the blur.